home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_08_10 / 8n10104a < prev    next >
Text File  |  1990-08-19  |  924b  |  26 lines

  1.  
  2.       ch = (char)(y >> 6);
  3.       if (ch != old_page) /* only change page if different */
  4.         {
  5.           dx = ati_extreg;
  6.           asm("     cli     ");
  7.           asm("     mov     al,0b2h");
  8.        asm(dx,"     out     dx,al");
  9.           asm("     inc     dl");
  10.           asm("     in      al,dx");
  11.           asm("     mov     ah,al");
  12.           asm("     and     ah,0e1h");
  13.        asm(ch,"     or      ah,ch");
  14.           asm("     mov     al,0b2h");
  15.           asm("     dec     dl");
  16.           asm("     out     dx,ax");
  17.           asm("     sti     ");
  18.           old_page = ch;
  19.         }
  20.       addr = 655360 + ((y << 9) % 65536) + (x >> 1);
  21.       peek(addr, val); /* read existing color of pixel pair */
  22.       if (x % 2) val = color | (val & 0xF0); /* change left pixel */
  23.       else val = (color << 4) | (val & 0x0F); /* change right pixel */
  24.       poke(addr, val); /* write pixel pair */
  25.  
  26.